),MT=/^[ -~]{0,255}[!-~]$/,LT=/,|=/;class JT{_internalState=new Map;constructor(e){e&&this._parse(e)}set(e,t){const n=this._clone();return n._internalState.has(e)&&n._internalState.delete(e),n._internalState.set(e,t),n}unset(e){const t=this._clone();return t._internalState.delete(e),t}get(e){return this._internalState.get(e)}serialize(){return this._keys().reduce((e,t)=>(e.push(t+"="+this.get(t)),e),[]).join(",")}_parse(e){e.length>512||(this._internalState=e.split(",").reverse().reduce((e,t)=>{const n=t.trim(),r=n.indexOf("=");if(-1!==r){const i=n.slice(0,r),o=n.slice(r+1,t.length);(function(e){return BT.test(e)})(i)&&function(e){return MT.test(e)&&!LT.test(e)}(o)&&e.set(i,o)}return e},new Map),this._internalState.size>32&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,32))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){const e=new JT;return e._internalState=new Map(this._internalState),e}}const FT="traceparent",DT="tracestate",qT=new RegExp("^\\s?((?!ff)[\\da-f]{2})-((?![0]{32})[\\da-f]{32})-((?![0]{16})[\\da-f]{16})-([\\da-f]{2})(-.*)?\\s?$");class HT{inject(e,t,n){const r=qy.getSpanContext(e);if(!r||Wy(e)||!Cy(r))return;const i=`00-${r.traceId}-${r.spanId}-0${Number(r.traceFlags||py.NONE).toString(16)}`;n.set(t,FT,i),r.traceState&&n.set(t,DT,r.traceState.serialize())}extract(e,t,n){const r=n.get(t,FT);if(!r)return e;const i=Array.isArray(r)?r[0]:r;if("string"!=typeof i)return e;const o=function(e){const t=qT.exec(e);return t?"00"===t[1]&&t[5]?null:{traceId:t[2],spanId:t[3],traceFlags:parseInt(t[4],16)}:null}(i);if(!o)return e;o.isRemote=!0;const s=n.get(t,DT);if(s){const e=Array.isArray(s)?s.join(","):s;o.traceState=new JT("string"==typeof e?e:void 0)}return qy.setSpanContext(e,o)}fields(){return[FT,DT]}}const $T="baggage";class jT{inject(e,t,n){const r=CT.getBaggage(e);if(!r||Wy(e))return;const i=function(e){return e.getAllEntries().map(([e,t])=>{let n=`${encodeURIComponent(e)}=${encodeURIComponent(t.value)}`;return void 0!==t.metadata&&(n+=";"+t.metadata.toString()),n})}(r).filter(e=>e.length<=4096).slice(0,180),o=function(e){return e.reduce((e,t)=>{const n=`${e}${""!==e?",":""}${t}`;return n.length>8192?e:n},"")}(i);o.length>0&&n.set(t,$T,o)}extract(e,t,n){const r=n.get(t,$T),i=Array.isArray(r)?r.join(","):r;if(!i)return e;const o={};return 0===i.length?e:(i.split(",").forEach(e=>{const t=function(e){const t=e.split(";");if(t.length<=0)return;const n=t.shift();if(!n)return;const r=n.indexOf("=");if(r<=0)return;const i=decodeURIComponent(n.substring(0,r).trim()),o=decodeURIComponent(n.substring(r+1).trim());let s;return t.length>0&&("string"!=typeof(a=t.join(";"))&&(PT.error("Cannot create baggage metadata from unknown type: "+typeof a),a=""),s={__TYPE__:AT,toString:function(){return a}}),{key:i,value:o,metadata:s};var a}(e);if(t){const e={value:t.value};t.metadata&&(e.metadata=t.metadata),o[t.key]=e}}),0===Object.entries(o).length?e:CT.setBaggage(e,CT.createBaggage(o)))}fields(){return[$T]}}class VT extends mT{constructor(e={}){super(e)}register(e={}){var t;qy.setGlobalTracerProvider(this),null!==(t=e.propagator)&&(void 0!==t?CT.setGlobalPropagator(t):CT.setGlobalPropagator(new KT({propagators:[new HT,new jT]}))),function(e){if(null!==e){if(void 0===e){const e=new bT;return e.enable(),void zy.setGlobalContextManager(e)}e.enable(),zy.setGlobalContextManager(e)}}(e.contextManager)}}var zT,GT=(zT=function(e,t){return zT=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},zT(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}zT(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),WT=function(){function e(){}return e.prototype.createGauge=function(e,t){return a_},e.prototype.createHistogram=function(e,t){return c_},e.prototype.createCounter=function(e,t){return s_},e.prototype.createUpDownCounter=function(e,t){return u_},e.prototype.createObservableGauge=function(e,t){return f_},e.prototype.createObservableCounter=function(e,t){return d_},e.prototype.createObservableUpDownCounter=function(e,t){return l_},e.prototype.addBatchObservableCallback=function(e,t){},e.prototype.removeBatchObservableCallback=function(e){},e}(),ZT=function(){},YT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return GT(t,e),t.prototype.add=function(e,t){},t}(ZT),XT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return GT(t,e),t.prototype.add=function(e,t){},t}(ZT),QT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return GT(t,e),t.prototype.record=function(e,t){},t}(ZT),e_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return GT(t,e),t.prototype.record=function(e,t){},t}(ZT),t_=function(){function e(){}return e.prototype.addCallback=function(e){},e.prototype.removeCallback=function(e){},e}(),n_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return GT(t,e),t}(t_),r_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return GT(t,e),t}(t_),i_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return GT(t,e),t}(t_),o_=new WT,s_=new YT,a_=new QT,c_=new e_,u_=new XT,d_=new n_,f_=new r_,l_=new i_,h_=new(function(){function e(){}return e.prototype.getMeter=function(e,t,n){return o_},e}()),p_="metrics",g_=function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalMeterProvider=function(e){return oy(p_,e,gy.instance())},e.prototype.getMeterProvider=function(){return sy(p_)||h_},e.prototype.getMeter=function(e,t,n){return this.getMeterProvider().getMeter(e,t,n)},e.prototype.disable=function(){ay(p_,gy.instance())},e}().getInstance();const y_="object"==typeof globalThis?globalThis:"object"==typeof self?self:"object"==typeof window?window:"object"==typeof s.g?s.g:{},m_=Symbol.for("io.opentelemetry.js.api.logs"),b_=y_;class w_{emit(e){}}const v_=new w_,S_=new class{getLogger(e,t,n){return new w_}};class T_{constructor(e,t,n,r){this._provider=e,this.name=t,this.version=n,this.options=r}emit(e){this._getLogger().emit(e)}_getLogger(){if(this._delegate)return this._delegate;const e=this._provider.getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):v_}}class __{getLogger(e,t,n){var r;return null!==(r=this.getDelegateLogger(e,t,n))&&void 0!==r?r:new T_(this,e,t,n)}getDelegate(){var e;return null!==(e=this._delegate)&&void 0!==e?e:S_}setDelegate(e){this._delegate=e}getDelegateLogger(e,t,n){var r;return null===(r=this._delegate)||void 0===r?void 0:r.getLogger(e,t,n)}}class k_{constructor(){this._proxyLoggerProvider=new __}static getInstance(){return this._instance||(this._instance=new k_),this._instance}setGlobalLoggerProvider(e){return b_[m_]?this.getLoggerProvider():(b_[m_]=(t=e,n=S_,e=>1===e?t:n),this._proxyLoggerProvider.setDelegate(e),e);var t,n}getLoggerProvider(){var e,t;return null!==(t=null===(e=b_[m_])||void 0===e?void 0:e.call(b_,1))&&void 0!==t?t:this._proxyLoggerProvider}getLogger(e,t,n){return this.getLoggerProvider().getLogger(e,t,n)}disable(){delete b_[m_],this._proxyLoggerProvider=new __}}const x_=k_.getInstance();let I_=console.error.bind(console);function E_(e,t,n){const r=!!e[t]&&Object.prototype.propertyIsEnumerable.call(e,t);Object.defineProperty(e,t,{configurable:!0,enumerable:r,writable:!0,value:n})}const A_=(e,t,n)=>{if(!e||!e[t])return void I_("no original function "+String(t)+" to wrap");if(!n)return I_("no wrapper function"),void I_((new Error).stack);const r=e[t];if("function"!=typeof r||"function"!=typeof n)return void I_("original object and wrapper must be functions");const i=n(r,t);return E_(i,"__original",r),E_(i,"__unwrap",()=>{e[t]===i&&E_(e,t,r)}),E_(i,"__wrapped",!0),E_(e,t,i),i},P_=(e,t,n)=>{if(!e)return I_("must provide one or more modules to patch"),void I_((new Error).stack);Array.isArray(e)||(e=[e]),t&&Array.isArray(t)?e.forEach(e=>{t.forEach(t=>{A_(e,t,n)})}):I_("must provide one or more functions to wrap on modules")},N_=(e,t)=>{if(!e||!e[t])return I_("no function to unwrap."),void I_((new Error).stack);const n=e[t];n.__unwrap?n.__unwrap():I_("no original to unwrap to -- has "+String(t)+" already been unwrapped?")},R_=(e,t)=>{if(!e)return I_("must provide one or more modules to patch"),void I_((new Error).stack);Array.isArray(e)||(e=[e]),t&&Array.isArray(t)?e.forEach(e=>{t.forEach(t=>{N_(e,t)})}):I_("must provide one or more functions to unwrap on modules")};function O_(e){e&&e.logger&&("function"!=typeof e.logger?I_("new logger isn't a function, not replacing"):I_=e.logger)}O_.wrap=A_,O_.massWrap=P_,O_.unwrap=N_,O_.massUnwrap=R_;class C_{instrumentationName;instrumentationVersion;_config={};_tracer;_meter;_logger;_diag;constructor(e,t,n){this.instrumentationName=e,this.instrumentationVersion=t,this.setConfig(n),this._diag=jy.createComponentLogger({namespace:e}),this._tracer=qy.getTracer(e,t),this._meter=g_.getMeter(e,t),this._logger=x_.getLogger(e,t),this._updateMetricInstruments()}_wrap=A_;_unwrap=N_;_massWrap=P_;_massUnwrap=R_;get meter(){return this._meter}setMeterProvider(e){this._meter=e.getMeter(this.instrumentationName,this.instrumentationVersion),this._updateMetricInstruments()}get logger(){return this._logger}setLoggerProvider(e){this._logger=e.getLogger(this.instrumentationName,this.instrumentationVersion)}getModuleDefinitions(){const e=this.init()??[];return Array.isArray(e)?e:[e]}_updateMetricInstruments(){}getConfig(){return this._config}setConfig(e){this._config={enabled:!0,...e}}setTracerProvider(e){this._tracer=e.getTracer(this.instrumentationName,this.instrumentationVersion)}get tracer(){return this._tracer}_runSpanCustomizationHook(e,t,n,r){if(e)try{e(n,r)}catch(e){this._diag.error("Error running span customization hook due to exception in handler",{triggerName:t},e)}}}class K_ extends C_{constructor(e,t,n){super(e,t,n),this._config.enabled&&this.enable()}}var U_;function B_(e,t,n){let r,i;try{i=e()}catch(e){r=e}finally{if(t(r,i),r&&!n)throw r;return i}}function M_(e,t){return"string"==typeof t?e===t:!!e.match(t)}!function(e){e[e.STABLE=1]="STABLE",e[e.OLD=2]="OLD",e[e.DUPLICATE=3]="DUPLICATE"}(U_||(U_={}));const L_=performance,J_=Math.pow(10,6),F_=Math.pow(10,9);function D_(e){const t=e/1e3;return[Math.trunc(t),Math.round(e%1e3*J_)]}function q_(e){return function(e,t){const n=[e[0]+t[0],e[1]+t[1]];return n[1]>=F_&&(n[1]-=F_,n[0]+=1),n}(D_(function(){let e=L_.timeOrigin;if("number"!=typeof e){const t=L_;e=t.timing&&t.timing.fetchStart}return e}()),D_("number"==typeof e?e:L_.now()))}var H_;!function(e){e.CONNECT_END="connectEnd",e.CONNECT_START="connectStart",e.DECODED_BODY_SIZE="decodedBodySize",e.DOM_COMPLETE="domComplete",e.DOM_CONTENT_LOADED_EVENT_END="domContentLoadedEventEnd",e.DOM_CONTENT_LOADED_EVENT_START="domContentLoadedEventStart",e.DOM_INTERACTIVE="domInteractive",e.DOMAIN_LOOKUP_END="domainLookupEnd",e.DOMAIN_LOOKUP_START="domainLookupStart",e.ENCODED_BODY_SIZE="encodedBodySize",e.FETCH_START="fetchStart",e.LOAD_EVENT_END="loadEventEnd",e.LOAD_EVENT_START="loadEventStart",e.NAVIGATION_START="navigationStart",e.REDIRECT_END="redirectEnd",e.REDIRECT_START="redirectStart",e.REQUEST_START="requestStart",e.RESPONSE_END="responseEnd",e.RESPONSE_START="responseStart",e.SECURE_CONNECTION_START="secureConnectionStart",e.START_TIME="startTime",e.UNLOAD_EVENT_END="unloadEventEnd",e.UNLOAD_EVENT_START="unloadEventStart"}(H_||(H_={}));const $_=performance,j_=Math.pow(10,6),V_=Math.pow(10,9);function z_(e){const t=e/1e3;return[Math.trunc(t),Math.round(e%1e3*j_)]}function G_(){let e=$_.timeOrigin;if("number"!=typeof e){const t=$_;e=t.timing&&t.timing.fetchStart}return e}function W_(e){if(t=e,Array.isArray(t)&&2===t.length&&"number"==typeof t[0]&&"number"==typeof t[1])return e;var t,n;if("number"==typeof e)return e=V_&&(n[1]-=V_,n[0]+=1),n}(z_(G_()),z_("number"==typeof n?n:$_.now()))):z_(e);if(e instanceof Date)return z_(e.getTime());throw TypeError("Invalid input type")}function Z_(e){return e[0]*V_+e[1]}let Y_;function X_(e,t,n,r=!0){if(t in n&&"number"==typeof n[t]&&(!r||0!==n[t]))return e.addEvent(t,n[t])}function Q_(e,t,n=!1,r,i){if(void 0===r&&(r=0!==t[H_.START_TIME]),n||(X_(e,H_.FETCH_START,t,r),X_(e,H_.DOMAIN_LOOKUP_START,t,r),X_(e,H_.DOMAIN_LOOKUP_END,t,r),X_(e,H_.CONNECT_START,t,r),X_(e,H_.SECURE_CONNECTION_START,t,r),X_(e,H_.CONNECT_END,t,r),X_(e,H_.REQUEST_START,t,r),X_(e,H_.RESPONSE_START,t,r),X_(e,H_.RESPONSE_END,t,r)),!i){const n=t[H_.ENCODED_BODY_SIZE];void 0!==n&&e.setAttribute("http.response_content_length",n);const r=t[H_.DECODED_BODY_SIZE];void 0!==r&&n!==r&&e.setAttribute("http.response_content_length_uncompressed",r)}}function ek(){return"undefined"!=typeof location?location.origin:void 0}function tk(e){if("function"==typeof URL)return new URL(e,"undefined"!=typeof document?document.baseURI:"undefined"!=typeof location?location.href:void 0);const t=(Y_||(Y_=document.createElement("a")),Y_);return t.href=e,t}var nk;!function(e){e.COMPONENT="component",e.HTTP_STATUS_TEXT="http.status_text"}(nk||(nk={}));var rk=s(7805);const ik=jy.createComponentLogger({namespace:"@opentelemetry/opentelemetry-instrumentation-fetch/utils"});const ok=new TextEncoder;function sk(e){return ok.encode(e).byteLength}const ak={CONNECT:!0,DELETE:!0,GET:!0,HEAD:!0,OPTIONS:!0,PATCH:!0,POST:!0,PUT:!0,TRACE:!0};let ck;function uk(){if(void 0===ck){const e=void 0;e&&e.length>0?(ck={},e.forEach(e=>{ck[e]=!0})):ck=ak}return ck}const dk={"https:":"443","http:":"80"},fk="0.203.0",lk="object"==typeof globalThis?globalThis:"object"==typeof self?self:"object"==typeof window?window:"object"==typeof s.g?s.g:{},hk="object"==typeof process&&"node"===process.release?.name;class pk extends K_{component="fetch";version=fk;moduleName=this.component;_usedResources=new WeakSet;_tasksCount=0;_semconvStability;constructor(e={}){super("@opentelemetry/instrumentation-fetch",fk,e),this._semconvStability=function(e,t){let n=U_.OLD;const r=t?.split(",").map(e=>e.trim()).filter(e=>""!==e);for(const t of r??[]){if(t.toLowerCase()===e+"/dup"){n=U_.DUPLICATE;break}t.toLowerCase()===e&&(n=U_.STABLE)}return n}("http",e?.semconvStabilityOptIn)}init(){}_addChildSpan(e,t){const n=this.tracer.startSpan("CORS Preflight",{startTime:t[H_.FETCH_START]},qy.setSpan(zy.active(),e)),r=!(this._semconvStability&U_.OLD);Q_(n,t,this.getConfig().ignoreNetworkEvents,void 0,r),n.end(t[H_.RESPONSE_END])}_addFinalSpanAttributes(e,t){const n=tk(t.url);if(this._semconvStability&U_.OLD&&(e.setAttribute(rk.a3,t.status),null!=t.statusText&&e.setAttribute(nk.HTTP_STATUS_TEXT,t.statusText),e.setAttribute(rk.Mm,n.host),e.setAttribute(rk.v8,n.protocol.replace(":","")),"undefined"!=typeof navigator&&e.setAttribute(rk.ds,navigator.userAgent)),this._semconvStability&U_.STABLE){e.setAttribute("http.response.status_code",t.status),e.setAttribute("server.address",n.hostname);const r=function(e){const t=Number(e.port||dk[e.protocol]);return t&&!isNaN(t)?t:void 0}(n);r&&e.setAttribute("server.port",r)}}_addHeaders(e,t){if(!function(e,t){let n=t||[];return("string"==typeof n||n instanceof RegExp)&&(n=[n]),tk(e).origin===ek()||n.some(t=>{return n=e,"string"==typeof(r=t)?n===r:!!n.match(r);var n,r})}(t,this.getConfig().propagateTraceHeaderCorsUrls)){const e={};return CT.inject(zy.active(),e),void(Object.keys(e).length>0&&this._diag.debug("headers inject skipped due to CORS policy"))}if(e instanceof Request)CT.inject(zy.active(),e.headers,{set:(e,t,n)=>e.set(t,"string"==typeof n?n:String(n))});else if(e.headers instanceof Headers)CT.inject(zy.active(),e.headers,{set:(e,t,n)=>e.set(t,"string"==typeof n?n:String(n))});else if(e.headers instanceof Map)CT.inject(zy.active(),e.headers,{set:(e,t,n)=>e.set(t,"string"==typeof n?n:String(n))});else{const t={};CT.inject(zy.active(),t),e.headers=Object.assign({},t,e.headers||{})}}_clearResources(){0===this._tasksCount&&this.getConfig().clearTimingResources&&(performance.clearResourceTimings(),this._usedResources=new WeakSet)}_createSpan(e,t={}){if(function(e,t){if(!t)return!1;for(const n of t)if(M_(e,n))return!0;return!1}(e,this.getConfig().ignoreUrls))return void this._diag.debug("ignoring span as url matches ignored url");let n="";const r={};if(this._semconvStability&U_.OLD){const i=(t.method||"GET").toUpperCase();n=`HTTP ${i}`,r[nk.COMPONENT]=this.moduleName,r[rk.rp]=i,r[rk.XV]=e}if(this._semconvStability&U_.STABLE){const i=t.method,o=function(e){const t=uk(),n=e.toUpperCase();return n in t?n:"_OTHER"}(t.method||"GET");n||(n=o),r["http.request.method"]=o,o!==i&&(r["http.request.method_original"]=i),r["url.full"]=e}return this.tracer.startSpan(n,{kind:zS.CLIENT,attributes:r})}_findResourceAndAddNetworkEvents(e,t,n){let r=t.entries;if(!r.length){if(!performance.getEntriesByType)return;r=performance.getEntriesByType("resource")}const i=function(e,t,n,r,i=new WeakSet,o){const s=tk(e),a=function(e,t,n,r,i,o){const s=Z_(t),a=Z_(n);let c=r.filter(t=>{const n=Z_(W_(t[H_.FETCH_START])),r=Z_(W_(t[H_.RESPONSE_END]));return t.initiatorType.toLowerCase()===(o||"xmlhttprequest")&&t.name===e&&n>=s&&r<=a});return c.length>0&&(c=c.filter(e=>!i.has(e))),c}(e=s.toString(),t,n,r,i,o);if(0===a.length)return{mainRequest:void 0};if(1===a.length)return{mainRequest:a[0]};const c=function(e){return e.slice().sort((e,t)=>{const n=e[H_.FETCH_START],r=t[H_.FETCH_START];return n>r?1:n1){let e=c[0],t=function(e,t,n){const r=Z_(n),i=Z_(W_(t));let o,s=e[1];const a=e.length;for(let t=1;t=i&&(!o||c=400&&(e.setStatus({code:WS.ERROR}),e.setAttribute("error.type",String(n.status))),setTimeout(()=>{t.observer?.disconnect(),this._findResourceAndAddNetworkEvents(e,t,i),this._tasksCount--,this._clearResources(),e.end(r)},300)}_patchConstructor(){return e=>{const t=this;return function(...n){const r=this,i=tk(n[0]instanceof Request?n[0].url:String(n[0])).href,o=n[0]instanceof Request?n[0]:n[1]||{},s=t._createSpan(i,o);if(!s)return e.apply(this,n);const a=t._prepareSpanData(i);function c(e,n){t._applyAttributesAfterFetch(e,o,n),t._endSpan(e,a,{status:n.status||0,statusText:n.message,url:i})}function u(e,n){t._applyAttributesAfterFetch(e,o,n),n.status>=200&&n.status<400?t._endSpan(e,a,n):t._endSpan(e,a,{status:n.status,statusText:n.statusText,url:i})}function d(e,t,n){try{const t=n.clone().body;if(t){const r=t.getReader(),i=()=>{r.read().then(({done:t})=>{t?u(e,n):i()},t=>{c(e,t)})};i()}else u(e,n)}finally{t(n)}}function f(e,t,n){try{c(e,n)}finally{t(n)}}return t.getConfig().measureRequestSize&&function(...e){if(e[0]instanceof URL||"string"==typeof e[0]){const n=e[1];if(!n?.body)return Promise.resolve();if(n.body instanceof ReadableStream){const{body:e,length:t}=function(e){if(!e.pipeThrough)return ik.warn("Platform has ReadableStream but not pipeThrough!"),{body:e,length:Promise.resolve(void 0)};let t,n=0;const r=new Promise(e=>{t=e}),i=new TransformStream({start(){},async transform(e,t){const r=await e;n+=r.byteLength,t.enqueue(e)},flush(){t(n)}});return{body:e.pipeThrough(i),length:r}}(n.body);return n.body=e,t}return Promise.resolve((t=n.body,"undefined"!=typeof Document&&t instanceof Document?(new XMLSerializer).serializeToString(document).length:"string"==typeof t?sk(t):t instanceof Blob?t.size:t instanceof FormData?function(e){let t=0;for(const[n,r]of e.entries())t+=n.length,r instanceof Blob?t+=r.size:t+=r.length;return t}(t):t instanceof URLSearchParams?sk(t.toString()):void 0!==t.byteLength?t.byteLength:void ik.warn("unknown body type")))}var t;{const t=e[0];return t?.body?t.clone().text().then(e=>sk(e)):Promise.resolve()}}(...n).then(e=>{e&&(t._semconvStability&U_.OLD&&s.setAttribute(rk.z4,e),t._semconvStability&U_.STABLE&&s.setAttribute(rk.Me,e))}).catch(e=>{t._diag.warn("getFetchBodyLength",e)}),new Promise((n,a)=>zy.with(qy.setSpan(zy.active(),s),()=>(t._addHeaders(o,i),t._callRequestHook(s,o),t._tasksCount++,e.apply(r,o instanceof Request?[o]:[i,o]).then(d.bind(r,s,n),f.bind(r,s,a)))))}}}_applyAttributesAfterFetch(e,t,n){const r=this.getConfig().applyCustomAttributesOnSpan;r&&B_(()=>r(e,t,n),e=>{e&&this._diag.error("applyCustomAttributesOnSpan",e)},!0)}_callRequestHook(e,t){const n=this.getConfig().requestHook;n&&B_(()=>n(e,t),e=>{e&&this._diag.error("requestHook",e)},!0)}_prepareSpanData(e){const t=q_(),n=[];if("function"!=typeof PerformanceObserver)return{entries:n,startTime:t,spanUrl:e};const r=new PerformanceObserver(t=>{t.getEntries().forEach(t=>{"fetch"===t.initiatorType&&t.name===e&&n.push(t)})});return r.observe({entryTypes:["resource"]}),{entries:n,observer:r,startTime:t,spanUrl:e}}enable(){var e;hk?this._diag.warn("this instrumentation is intended for web usage only, it does not instrument Node.js's fetch()"):("function"==typeof(e=fetch)&&"function"==typeof e.__original&&"function"==typeof e.__unwrap&&!0===e.__wrapped&&(this._unwrap(lk,"fetch"),this._diag.debug("removing previous patch for constructor")),this._wrap(lk,"fetch",this._patchConstructor()))}disable(){hk||(this._unwrap(lk,"fetch"),this._usedResources=new WeakSet)}}var gk=class extends Tv{transport;constructor(e,t=(0,wS.FetchTransport)()){super(e),this.transport=t}async createChannelWithTLS(e){try{return(0,wS.createChannel)(e,this.transport)}catch(t){throw console.error("Channel creation error:",t),new lm("Failed to create channel",{url:e,operation:"createChannel",errorCount:1,errors:t instanceof Error?t.message:String(t)},t)}}createAuthnMiddleware(){return async function*(e,t){const n=(0,Rg.Metadata)(t.metadata).set("X-Requested-With","XMLHttpRequest").set("X-Grpc-Web","1").set("X-Client-Env",Vw).set("Content-Type","application/grpc-web+proto");return yield*e.next(e.request,{...t,metadata:n})}.bind(this)}createMiddleware(e){return async function*(t,n){const r=(0,Rg.Metadata)(n.metadata).set("X-Requested-With","XMLHttpRequest").set("X-Grpc-Web","1").set("X-Client-Env",Vw).set("Content-Type","application/grpc-web+proto");try{const i=await this.authenticate(e);return yield*t.next(t.request,{...n,metadata:r.set("Authorization",`Bearer ${i}`)})}catch(i){return yield*this.handleMiddlewareError(i,e,t,r,n)}}.bind(this)}async createGrpcClient(e,t,n,r,i){let o;let s={};return o=(0,wS.createClientFactory)(),n&&(s={retry:!0,retryMaxAttempts:3},o=o.use(vS.D)),r&&(o=o.use(r)),{...o.create(e,t,{"*":s}),close:i?()=>Tv.releaseChannel(i):void 0}}},yk=class extends gS{buildConnectionManager(e){return new gk(e)}initializeTracerEnv({spanProcessors:e,traceUrls:t}){!function({spanProcessors:e,traceUrls:t}){new VT({spanProcessors:e}).register(),CT.setGlobalPropagator(new HT),function(e){const t=e.tracerProvider||qy.getTracerProvider(),n=e.meterProvider||g_.getMeterProvider(),r=e.loggerProvider||x_.getLoggerProvider();!function(e,t,n,r){for(let i=0,o=e.length;ie.replace(/[.*+?^${}()|[\]\\]/g,"\\")).join("|")}))`)],propagateTraceHeaderCorsUrls:/.*/})]})}({spanProcessors:e,traceUrls:t})}};function mk(e,t=""){if(!Number.isSafeInteger(e)||e<0)throw new Error(`${t&&`"${t}" `}expected integer >= 0, got ${e}`)}function bk(e,t,n=""){const r=(i=e)instanceof Uint8Array||ArrayBuffer.isView(i)&&"Uint8Array"===i.constructor.name;var i;const o=e?.length,s=void 0!==t;if(!r||s&&o!==t)throw new Error((n&&`"${n}" `)+"expected Uint8Array"+(s?` of length ${t}`:"")+", got "+(r?`length=${o}`:"type="+typeof e));return e}function wk(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash must wrapped by utils.createHasher");mk(e.outputLen),mk(e.blockLen)}function vk(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Sk(...e){for(let t=0;t>>t}const kk=(()=>"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),xk=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ik(e,t={}){const n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}const Ek=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Ak(e,t,n){return e&t^~e&n}function Pk(e,t,n){return e&t^e&n^t&n}class Nk{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,r){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=Tk(this.buffer)}update(e){vk(this),bk(e);const{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let o=0;o='+n)}(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:i}=this;let{pos:o}=this;t[o++]=128,Sk(this.buffer.subarray(o)),this.padOffset>r-o&&(this.process(n,0),o=0);for(let e=o;eu.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e>>3,i=_k(n,17)^_k(n,19)^n>>>10;Ck[e]=i+Ck[e-7]+r+Ck[e-16]|0}let{A:n,B:r,C:i,D:o,E:s,F:a,G:c,H:u}=this;for(let e=0;e<64;e++){const t=u+(_k(s,6)^_k(s,11)^_k(s,25))+Ak(s,a,c)+Ok[e]+Ck[e]|0,d=(_k(n,2)^_k(n,13)^_k(n,22))+Pk(n,r,i)|0;u=c,c=a,a=s,s=o+t|0,o=i,i=r,r=n,n=t+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(n,r,i,o,s,a,c,u)}roundClean(){Sk(Ck)}destroy(){this.set(0,0,0,0,0,0,0,0),Sk(this.buffer)}}class Uk extends Kk{A=0|Rk[0];B=0|Rk[1];C=0|Rk[2];D=0|Rk[3];E=0|Rk[4];F=0|Rk[5];G=0|Rk[6];H=0|Rk[7];constructor(){super(32)}}const Bk=Ik(()=>new Uk,Ek(1));function Mk(e){const t="string"==typeof e?function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e):e,n=function(e){if(bk(e),kk)return e.toHex();let t="";for(let n=0;nn?e.create().update(t).digest():t);for(let e=0;enew Jk(e,t).update(n).digest();Fk.create=(e,t)=>new Jk(e,t);const Dk=Uint8Array.of(0),qk=Uint8Array.of(),Hk={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:$k,n:jk,Gx:Vk,Gy:zk,b:Gk}=Hk,Wk={publicKey:33,publicKeyUncompressed:65,signature:64,seed:48},Zk=(e="")=>{const t=new Error(e);throw((...e)=>{"captureStackTrace"in Error&&"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(...e)})(t,Zk),t},Yk=(e,t,n="")=>{const r=(i=e)instanceof Uint8Array||ArrayBuffer.isView(i)&&"Uint8Array"===i.constructor.name;var i;const o=e?.length,s=void 0!==t;return(!r||s&&o!==t)&&Zk((n&&`"${n}" `)+"expected Uint8Array"+(s?` of length ${t}`:"")+", got "+(r?`length=${o}`:"type="+typeof e)),e},Xk=e=>new Uint8Array(e),Qk=(e,t)=>e.toString(16).padStart(t,"0"),ex=e=>Array.from(Yk(e)).map(e=>Qk(e,2)).join(""),tx=e=>e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0,nx=e=>{const t="hex invalid";if("string"!=typeof e)return Zk(t);const n=e.length,r=n/2;if(n%2)return Zk(t);const i=Xk(r);for(let n=0,o=0;n{const t=Xk(e.reduce((e,t)=>e+Yk(t).length,0));let n=0;return e.forEach(e=>{t.set(e,n),n+=e.length}),t},ix=(e=32)=>(globalThis?.crypto).getRandomValues(Xk(e)),ox=BigInt,sx=(e,t,n,r="bad number: out of range")=>(e=>"bigint"==typeof e)(e)&&t<=e&&e{const n=e%t;return n>=0n?n:t+n},cx=e=>e instanceof px?e:Zk("Point expected"),ux=e=>ax(ax(e*e)*e+Gk),dx=e=>sx(e,0n,$k),fx=e=>sx(e,1n,$k),lx=e=>0n==(1n&e),hx=e=>Uint8Array.of(e);class px{static BASE;static ZERO;X;Y;Z;constructor(e,t,n){this.X=dx(e),this.Y=fx(t),this.Z=dx(n),Object.freeze(this)}static CURVE(){return Hk}static fromAffine(e){const{x:t,y:n}=e;return 0n===t&&0n===n?yx:new px(t,n,1n)}static fromBytes(e){Yk(e);const{publicKey:t,publicKeyUncompressed:n}=Wk;let r;const i=e.length,o=e[0],s=e.subarray(1),a=bx(s,0,32);if(i===t&&(2===o||3===o)){let e=(e=>{const t=ux(fx(e));let n=1n;for(let e=t,r=($k+1n)/4n;r>0n;r>>=1n)1n&r&&(n=n*e%$k),e=e*e%$k;return ax(n*n)===t?n:Zk("sqrt invalid")})(a);const t=lx(e);lx(ox(o))!==t&&(e=ax(-e)),r=new px(a,e,1n)}return i===n&&4===o&&(r=new px(a,bx(s,32,64),1n)),r?r.assertValidity():Zk("bad point: not on curve")}static fromHex(e){return px.fromBytes(nx(e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}equals(e){const{X:t,Y:n,Z:r}=this,{X:i,Y:o,Z:s}=cx(e),a=ax(t*s),c=ax(i*r),u=ax(n*s),d=ax(o*r);return a===c&&u===d}is0(){return this.equals(yx)}negate(){return new px(this.X,ax(-this.Y),this.Z)}double(){return this.add(this)}add(e){const{X:t,Y:n,Z:r}=this,{X:i,Y:o,Z:s}=cx(e);let a=0n,c=0n,u=0n;const d=ax(3n*Gk);let f=ax(t*i),l=ax(n*o),h=ax(r*s),p=ax(t+n),g=ax(i+o);p=ax(p*g),g=ax(f+l),p=ax(p-g),g=ax(t+r);let y=ax(i+s);return g=ax(g*y),y=ax(f+h),g=ax(g-y),y=ax(n+r),a=ax(o+s),y=ax(y*a),a=ax(l+h),y=ax(y-a),u=ax(0n*g),a=ax(d*h),u=ax(a+u),a=ax(l-u),u=ax(l+u),c=ax(a*u),l=ax(f+f),l=ax(l+f),h=ax(0n*h),g=ax(d*g),l=ax(l+h),h=ax(f-h),h=ax(0n*h),g=ax(g+h),f=ax(l*g),c=ax(c+f),f=ax(y*g),a=ax(p*a),a=ax(a-f),f=ax(p*l),u=ax(y*u),u=ax(u+f),new px(a,c,u)}subtract(e){return this.add(cx(e).negate())}multiply(e,t=!0){if(!t&&0n===e)return yx;if((e=>{sx(e,1n,jk)})(e),1n===e)return this;if(this.equals(gx))return Ax(e).p;let n=yx,r=gx;for(let i=this;e>0n;i=i.double(),e>>=1n)1n&e?n=n.add(i):t&&(r=r.add(i));return n}multiplyUnsafe(e){return this.multiply(e,!1)}toAffine(){const{X:e,Y:t,Z:n}=this;if(this.equals(yx))return{x:0n,y:0n};if(1n===n)return{x:e,y:t};const r=((e,t)=>{(0n===e||t<=0n)&&Zk("no inverse n="+e+" mod="+t);let n=ax(e,t),r=t,i=0n,o=1n,s=1n,a=0n;for(;0n!==n;){const e=r/n,t=r%n,c=i-s*e,u=o-a*e;r=n,n=t,i=s,o=a,s=c,a=u}return 1n===r?ax(i,t):Zk("no inverse")})(n,$k);return 1n!==ax(n*r)&&Zk("inverse invalid"),{x:ax(e*r),y:ax(t*r)}}assertValidity(){const{x:e,y:t}=this.toAffine();return fx(e),fx(t),ax(t*t)===ux(e)?this:Zk("bad point: not on curve")}toBytes(e=!0){const{x:t,y:n}=this.assertValidity().toAffine(),r=vx(t);return e?rx((e=>hx(lx(e)?2:3))(n),r):rx(hx(4),r,vx(n))}toHex(e){return ex(this.toBytes(e))}}const gx=new px(Vk,zk,1n),yx=new px(0n,1n,0n);px.BASE=gx,px.ZERO=yx;const mx=e=>ox("0x"+(ex(e)||"0")),bx=(e,t,n)=>mx(e.subarray(t,n)),wx=2n**256n,vx=e=>nx(Qk(sx(e,0n,wx),64)),Sx=e=>{const t=mx(Yk(e,32,"secret key"));return sx(t,1n,jk,"invalid secret key: outside of range")},Tx=(e,t=!0)=>gx.multiply(Sx(e)).toBytes(t);Xk(0),hx(0),hx(1);const _x=e=>t=>{const n=((e=ix(Wk.seed))=>{Yk(e),(e.length1024)&&Zk("expected 40-1024b");const t=ax(mx(e),jk-1n);return vx(t+1n)})(t);return{secretKey:n,publicKey:e(n)}},kx=(_x(Tx),e=>{const t=Sx(e),n=gx.multiply(t),{x:r,y:i}=n.assertValidity().toAffine();return{d:lx(i)?t:(o=-t,ax(o,jk)),px:vx(r)};var o}),xx=(_x(e=>kx(e).px),Math.ceil(32)+1);let Ix;const Ex=(e,t)=>{const n=t.negate();return e?n:t},Ax=e=>{const t=Ix||(Ix=(()=>{const e=[];let t=gx,n=t;for(let r=0;r>=o,a>128&&(a-=256,e+=1n);const c=128*s,u=c,d=c+Math.abs(a)-1,f=s%2!=0,l=a<0;0===a?r=r.add(Ex(f,t[u])):n=n.add(Ex(l,t[d]))}return 0n!==e&&Zk("invalid wnaf"),{p:n,f:r}};var Px=s(8287).hp,Nx=s(8287).hp;const Rx=e=>{if(e instanceof Uint8Array)return e;if("string"!=typeof e)throw new Error("Expected hex string or Uint8Array");const t=new Uint8Array(e.length/2);for(let n=0;n{let t="";const n=new Uint8Array(e),r=n.byteLength;for(let e=0;epx.fromBytes(t).multiply(Sx(e)).toBytes(n))(Rx(r),Rx(i),!0).slice(1,33);return s=Bk,a=o,c=new Uint8Array(0),u=(new TextEncoder).encode("ecdh-aes-key:"+n),d=32,function(e,t,n,r=32){wk(e),mk(r,"length");const i=e.outputLen;if(r>255*i)throw new Error("Length must be <= 255*HashLen");const o=Math.ceil(r/i);void 0===n?n=qk:bk(n,void 0,"info");const s=new Uint8Array(o*i),a=Fk.create(e,t),c=a._cloneInto(),u=new Uint8Array(a.outputLen);for(let e=0;e{const n={},r=e=>{const t=n[e];if(!t)throw new Error("sparkWallet not initialized");return t},i=async(n,r)=>{const i={incomingPayment:!0,result:JSON.stringify({transferId:n,balance:r.toString()}),isResponse:!0};try{const n=await Kx(e,JSON.stringify(i));t.postMessage(JSON.stringify({encrypted:n}))}catch(e){console.log("Encryption error during handleTransfer:",e)}};return{initializeSparkWallet:async({mnemonic:e})=>{try{const t=(e=>Mk(e))(e);if(n[t])return{isConnected:!0};const{wallet:r}=await yk.initialize({mnemonicOrSeed:e,options:{network:"MAINNET"}});return e=null,n[t]=r,{isConnected:!0}}catch(e){return console.log("Initialize spark wallet error function",e),{isConnected:!1,error:e.message}}},removeWalletEventListener:({mnemonic:e})=>{const t=r(e);t?.listenerCount("transfer:claimed")&&t.removeAllListeners("transfer:claimed")},addWalletEventListener:({mnemonic:e})=>{const t=r(e);t?.listenerCount("transfer:claimed")||t.on("transfer:claimed",i)},getSparkIdentityPubKey:async({mnemonic:e})=>{try{return await r(e).getIdentityPublicKey()}catch(e){console.log("Get spark identity public key error",e)}},getSparkBalance:async({mnemonic:e})=>{try{const t=r(e),n=await t.getBalance();let i={};for(const[e,t]of n.tokenBalances)i[e]={...t,tokenMetadata:{...t.tokenMetadata,maxSupply:t.tokenMetadata.maxSupply.toString()},balance:t.balance.toString()};return{tokensObject:i,balance:n.balance.toString(),didWork:!0}}catch(e){return console.log("Get spark balance error",e),{didWork:!1}}},getSparkStaticBitcoinL1Address:async({mnemonic:e})=>{try{return await r(e).getStaticDepositAddress()}catch(e){console.log("Get reusable Bitcoin mainchain address error",e)}},queryAllStaticDepositAddresses:async({mnemonic:e})=>{try{return await r(e).queryStaticDepositAddresses()}catch(e){console.log("Query reusable Bitcoin mainchain addresses error",e)}},getSparkStaticBitcoinL1AddressQuote:async({txid:e,mnemonic:t})=>{try{return{didWork:!0,quote:await r(t).getClaimStaticDepositQuote(e)}}catch(e){return console.log("Get reusable Bitcoin mainchain address quote error",e),{didWork:!1,error:e.message}}},refundSparkStaticBitcoinL1AddressQuote:async({depositTransactionId:e,destinationAddress:t,fee:n,mnemonic:i})=>{try{return await r(i).refundStaticDeposit({depositTransactionId:e,destinationAddress:t,fee:n})}catch(e){console.log("Refund reusable Bitcoin mainchain address error",e)}},claimnSparkStaticDepositAddress:async({creditAmountSats:e,outputIndex:t,sspSignature:n,transactionId:i,mnemonic:o})=>{try{return{didWork:!0,response:await r(o).claimStaticDeposit({creditAmountSats:e,sspSignature:n,transactionId:i})}}catch(e){return console.log("Claim static deposit address error",e),{didWork:!1,error:e.message}}},getSparkAddress:async({mnemonic:e})=>{try{return{didWork:!0,response:await r(e).getSparkAddress()}}catch(e){return console.log("Get spark address error",e),{didWork:!1,error:e.message}}},sendSparkPayment:async({receiverSparkAddress:e,amountSats:t,mnemonic:n})=>{try{return{didWork:!0,response:await r(n).transfer({receiverSparkAddress:e.toLowerCase(),amountSats:t})}}catch(e){return console.log("Send spark payment error",e),{didWork:!1,error:e.message}}},sendSparkTokens:async({tokenIdentifier:e,tokenAmount:t,receiverSparkAddress:n,mnemonic:i})=>{try{return{didWork:!0,response:await r(i).transferTokens({tokenIdentifier:e,tokenAmount:BigInt(t),receiverSparkAddress:n})}}catch(e){return console.log("Send spark token error",e),{didWork:!1,error:e.message}}},getSparkLightningPaymentFeeEstimate:async({invoice:e,amountSat:t,mnemonic:n})=>{try{return{didWork:!0,response:await r(n).getLightningSendFeeEstimate({encodedInvoice:e.toLowerCase(),amountSats:t})}}catch(e){return console.log("Get spark lightning payment fee estimate error",e),{didWork:!1,error:e.message}}},sendSparkLightningPayment:async({invoice:e,amountSat:t,mnemonic:n,maxFeeSats:i})=>{try{return{didWork:!0,paymentResponse:await r(n).payLightningInvoice({invoice:e.toLowerCase(),maxFeeSats:i,amountSatsToSend:t})}}catch(e){return console.log("Send spark lightning payment error",e),{didWork:!1,error:e.message}}},sendSparkBitcoinPayment:async({onchainAddress:e,exitSpeed:t,amountSats:n,feeQuote:i,deductFeeFromWithdrawalAmount:o,mnemonic:s})=>{try{return{didWork:!0,response:await r(s).withdraw({onchainAddress:e,exitSpeed:t,amountSats:n,feeQuote:i,deductFeeFromWithdrawalAmount:o})}}catch(e){return console.log("Send spark bitcoin payment error",e),{didWork:!1,error:e.message}}},receiveSparkLightningPayment:async({amountSats:e,memo:t,expirySeconds:n,mnemonic:i})=>{try{return{didWork:!0,response:await r(i).createLightningInvoice({amountSats:e,memo:t,expirySeconds:n})}}catch(e){return console.log("Receive spark lightning payment error",e),{didWork:!1,error:e.message}}},getSparkLightningPaymentStatus:async({lightningInvoiceId:e,mnemonic:t})=>{try{return await r(t).getLightningReceiveRequest(e)}catch(e){console.log("Get spark lightning payment status error",e)}},getSparkBitcoinPaymentRequest:async({paymentId:e,mnemonic:t})=>{try{return await r(t).getCoopExitRequest(e)}catch(e){console.log("Get spark bitcoin payment request error",e)}},getSparkBitcoinPaymentFeeEstimate:async({withdrawalAddress:e,amountSats:t,mnemonic:n})=>{try{return{didWork:!0,response:await r(n).getWithdrawalFeeQuote({amountSats:t,withdrawalAddress:e})}}catch(e){return console.log("Get spark bitcoin payment fee estimate error",e),{didWork:!1,error:e.message}}},getSparkPaymentFeeEstimate:async({amountSats:e,mnemonic:t})=>{try{return await r(t).getSwapFeeEstimate(e)}catch(e){return console.log("Get spark payment fee estimate error",e),0}},getSparkLightningSendRequest:async({id:e,mnemonic:t})=>{try{return await r(t).getLightningSendRequest(e)}catch(e){console.log("Get spark lightning send request error",e)}},getSparkTransactions:async({transferCount:e,offsetIndex:t,mnemonic:n})=>{try{const i=await r(n).getTransfers(e,t);return{transfers:i.transfers.map(e=>(delete e.leaves,e)),offset:i.offset}}catch(e){return console.log("Get spark transactions error",e),{transfers:[]}}},getSparkTokenTransactions:async({ownerPublicKeys:e,issuerPublicKeys:t,tokenTransactionHashes:n,tokenIdentifiers:i,outputIds:o,mnemonic:s,lastSavedTransactionId:a})=>{try{const c=await r(s).queryTokenTransactions({ownerPublicKeys:e,issuerPublicKeys:t,tokenTransactionHashes:n,tokenIdentifiers:i,outputIds:o}),u=c.tokenTransactionsWithStatus.map(e=>{const t=e.tokenTransaction,n=t.tokenOutputs?.[0];return{tokenTransactionHash:e.tokenTransactionHash,tokenTransaction:{clientCreatedTimestamp:t.clientCreatedTimestamp,tokenOutputs:n?[{ownerPublicKey:n.ownerPublicKey,tokenIdentifier:n.tokenIdentifier,tokenAmount:n.tokenAmount}]:[]}}});let d=u;if(a){const e=u.findIndex(e=>Ux.from(Object.values(e.tokenTransactionHash)).toString("hex")===a);-1!==e&&(d=u.slice(0,e))}return{tokenTransactionsWithStatus:d,offset:c.offset}}catch(e){return console.log("Get spark transactions error",e),[]}},findTransactionTxFromTxHistory:async({sparkTxId:e,previousOffset:t=0,previousTxs:n=[],mnemonic:i})=>{try{const o=n.find(t=>t.id===e);if(o)return console.log("Using cache tx history"),{didWork:!0,offset:t,foundTransfers:n,bitcoinTransfer:o};const s=r(i);let a,c=t,u=[];const d=20;for(;ct.id===e);if(n){a=n;break}if(-1===t.offset){console.log("Reached end of transactions (offset: -1)");break}c+=1}return{didWork:!0,offset:c,foundTransfers:u,bitcoinTransfer:a}}catch(e){return console.log("Error finding bitcoin tx from history",e),{didWork:!1,error:e.message}}}}};var Mx=s(8287).hp;!function(e){let t=Bx({sharedKey:null,ReactNativeWebView:window.ReactNativeWebView}),n=null;const r=new Set;let i=0,o=!1,s=!1;async function a(a){try{if("string"!=typeof a.data)return;let c=JSON.parse(a.data);if(c.isResponse)return;if(c.id&&r.has(c.id))return void console.log(`Duplicate message ID ${c.id} ignored`);if(!window.__STARTUP_NONCE__||"__INJECT_NONCE__"===window.__STARTUP_NONCE__)throw new Error("Security error: Startup nonce not properly injected");if("handshake:init"===c?.action&&c?.args?.pubN){if(o)throw new Error("Handshake already complete, ignoring subsequent attempt");if(s)throw new Error("Handshake already in progress, ignoring subsequent attempt");s=!0;const a=await async function(){const e=function(e=32){const t="object"==typeof globalThis?globalThis.crypto:null;if("function"!=typeof t?.getRandomValues)throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}(32);return{privateKey:e,publicKey:Tx(e,!0)}}();n=Cx(a.privateKey,c.args.pubN,window.__STARTUP_NONCE__),t=Bx({sharedKey:n,ReactNativeWebView:window.ReactNativeWebView});const u={id:c.id,success:!0,type:"handshake:reply",pubW:Mx.from(a.publicKey).toString("hex"),runtimeNonce:await Kx(n,window.__STARTUP_NONCE__),isResponse:!0};return console.log("Session key established with native"),r.add(c.id),o=!0,i=1,void e.postMessage(JSON.stringify(u))}if(!o)throw new Error("Received message before handshake complete");if(c.encrypted){const e=await async function(e,t){try{if(!t.includes("?iv=")||!t.includes("&tag="))throw new Error("Missing IV or auth tag");const[n,r]=t.split("?iv="),[i,o]=r.split("&tag="),s=Nx.from(i,"base64"),a=Nx.from(n,"base64"),c=Nx.from(o,"base64"),u=(0,Lk.aes256gcm)(e,s),d=new Uint8Array([...a,...c]),f=u.decrypt(d);return(new TextDecoder).decode(f)}catch(e){throw console.log("Web decryptMessage err",e),e}}(n,c.encrypted);c=JSON.parse(e)}if(c.id&&r.has(c.id))return void console.log(`Duplicate message ID ${c.id} ignored`);if("number"==typeof c.sequence){if(c.sequence3e4)throw new Error(`SECURITY: Rejected stale message: ${e}ms old`);if(e<-5e3)throw new Error(`SECURITY: Rejected future message: ${e}ms in future`)}if(r.add(c.id),"simulate_crash"===c.action)throw new Error("Crash simulation not allowed in production");if(!t[c.action])throw new Error(`Unknown Spark action: ${c.action}`);const u=await t[c.action](c.args),d={id:c.id,success:!0,result:JSON.stringify(u),isResponse:!0};c=null;const f=await Kx(n,JSON.stringify(d));e.postMessage(JSON.stringify({encrypted:f,isResponse:!0}))}catch(t){if(console.log("Spark WebContext error:",t),n){const r=await Kx(n,JSON.stringify({error:t.message}));e.postMessage(JSON.stringify({encrypted:r,isResponse:!0}))}}}window.addEventListener("message",a),document.addEventListener("message",a)}(window.ReactNativeWebView)})()})();